// main.js 是入口文件
import Vue from "vue"
import App from "./App.vue"
import router from "./router"
import store from "./store"

// 配置elementUi
import ElementUI from "element-ui"
import "element-ui/lib/theme-chalk/index.css"
Vue.use(ElementUI)

// 导入nprogress进度条包 对应的js和css
import NProgress from "nprogress"
import "nprogress/nprogress.css"

// 配置axios
import axios from "axios"

Vue.prototype.$http = axios //挂载在原型上，这样每一个Vue的组件通过this访问到$http直接发axios请求
axios.defaults.baseURL = "http://127.0.0.1:8888/api/private/v1/" //配置请求的根路径

//基于拦截器我们出发显示和隐藏进度条nprogress 插件
axios.interceptors.request.use(function(config) {
    // 在request中显示进度条 NProgress.start()
    NProgress.start()

    config.headers.Authorization = window.sessionStorage.getItem("token") //后端文档说要这样
    return config
})

// 在响应拦截器中隐藏进度条NProgress.done()
axios.interceptors.response.use(config => {
    NProgress.done()
    return config
})

import VueAxios from "vue-axios"

Vue.use(VueAxios, axios)
    // 导入vue-quill-editor 父文本编辑器
import VueQuillEditor from "vue-quill-editor"
// 导入vue-quill-editor 父文本编辑器 的 样式文件
import "quill/dist/quill.core.css"
import "quill/dist/quill.snow.css"
import "quill/dist/quill.bubble.css"

// 注册为全局组件
Vue.use(VueQuillEditor)

// 全局过滤器
Vue.filter("dataFormat", function(oringval) {
    var dt = new Date(oringval)

    var y = dt.getFullYear()
    var m = (dt.getMonth() + 1 + "").padStart(2, "0")
    var d = (dt.getDate() + "").padStart(2, "0")

    var hh = (dt.getHours() + "").padStart(2, "0")
    var mm = (dt.getMinutes() + "").padStart(2, "0")
    var ss = (dt.getSeconds() + "").padStart(2, "")
    return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})

// 导入全局样式表
import "./assets/css/global.css"
// 导入字体图标
import "./assets/font/iconfont.css"
Vue.config.productionTip = false

new Vue({
    router,
    store,
    render: h => h(App)
}).$mount("#app")